package com.liao.common.entity.product;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 商品分类体系（支持三级分类）
 *
 * @author liao
 * @email 2858015963@qq.com
 * @date 2025-02-13 13:26:53
 */
@Data
@TableName("category")
public class CategoryEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 分类唯一ID，自增长
     */
    @TableId
    private Integer categoryId;
    /**
     * 父分类ID（0表示一级分类）
     */
    private Integer parentId;
    /**
     * 分类名称（最大100字符）
     */
    private String name;
    /**
     * 排序权重（0-999，小号靠前）
     */
    private Integer sortOrder;
    /**
     * 是否前台展示
     */
    private Boolean isShow;

    private String icon;
    /**
     * 分类创建时间
     */
    private Date createdAt;

    @TableField(exist = false)
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<CategoryEntity> children;

}
